package leetcode84双周赛;

import java.util.List;
import java.util.Map;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Collections;

public class One {
	
	public static void main(String []args) {
/**		int  testArr[][] = {{1,3},{2,4},{4,6}};
		int arr[] = {1,2,4,5};
		System.out.println(Arrays.toString(arr));
		System.out.println(Arrays.asList(arr));
		System.out.println(Arrays.asList(Arrays.toString(testArr)));
		List<int []> list = new ArrayList<>();
		List<int[]>  l = Arrays.asList(arr);
	*/	
		List<Integer> list = Arrays.asList(1,2);
		System.out.println(list);
		
	}
	
	
	public List<List<Integer>> mergeSimilarItems(int[][] items1, int[][] items2){
		int len = items1.length+items2.length;
		List<List<Integer>> ans  = new ArrayList<>(len);
		Map<Integer,Integer> map = new HashMap<>(len);
		for(int arr[] : items1) {
//			ans.add(arr[0],arr[]);
			map.put(arr[0], arr[1]);
		}
		for(int arr[] : items2) {
			if(map.containsKey(arr[0])) {
				map.put(arr[0],map.get(arr[0]) + arr[1]);
			}
			else
				map.put(arr[0], arr[1]);
		}
		for(Map.Entry<Integer, Integer> temp: map.entrySet()) {
//			List<Integer> list = new ArrayList<>();
//			Arrays.asList(temp.getKey(),temp.getValue());
			ans.add(Arrays.asList(temp.getKey(),temp.getValue()));
		}
		Collections.sort(ans,(a,b) ->a.get(0) - b.get(0) );
		return ans;
		
	}
	
	
	
	
	
	
	 public List<List<Integer>> mergeSimilarItem(int[][] items1, int[][] items2) {
	        List<List<Integer>> ret = new ArrayList<>();
		    Integer len = Math.max(items1.length,items2.length);
	        int ans [][] = new int [1000][2];
	        for(int arr [] : items1){
	            ans[arr[0]][1] =arr[1];
	        }
	        for(int arr[] : items2){
	            ans[arr[0]][1] += arr[1];
	        
	        }
	        Arrays.sort(ans,(a,b) -> a[0] - b[0]);
	       for(int arr[] :ans) {
	    	   if(arr[0] != 0)
	    	   ret.add(Arrays.asList(arr[0],arr[1]));
	       }
//	        for()
//	        Arrays.asList(ans);
//	        System.out.println();
//	        return new ArrayList<>();
	       return ret;
	    }
}
